Power allocation and precoding matrix computation method in a wireless communication system

ABSTRACT

This invention presents methods for power allocation for each data stream on each transmitting antennas in MU-MIMO wireless communication systems comprising the BS computing the temporary beamforming matrix, constructing special matrices and vectors with the maximum transmitting power on each antenna, the allocated power to each data stream, the channel quality of each data stream, and the amplitude of each element of the temporary beamforming matrix, calculating the power allocated to each data stream on each antenna with the calculated special matrices and vectors, and adjusting each element of the temporary beamforming matrix to obtain the final beamforming matrix.

This application claims the benefit of U.S. Provisional Application No. 62/185,674, filed on Jun. 28, 2015.

FIELD OF THE INVENTION

The disclosed inventions relate generally to wireless communication, and in particular, to the mechanism for a Base Station (BS) to allocate power and precode the signal before it is transmitted to the User Equipment (UE) in massive Multiple-Input Multiple-Output (MIMO) communication systems.

BACKGROUND

Large-scale MIMO systems or massive MIMO systems were firstly introduced in [1] where each BS is equipped with dozens to several hundreds of transmit antennas. One main advantage of such systems is the potential capability to offer linear capacity growth without increasing power or bandwidth [1][4], which is realized by employing Multi-User MIMO (MU-MIMO) to achieve the significant higher spatial multiplexing gains than conventional systems. In this system, the BS groups UEs at each scheduling slot and transmits data to them on the same time and frequency resource.

It has been proved that Zero-Forcing (ZF) precoding with a total transmitting power constraint is almost the best choice to maximize the sum rate for large-scale MU-MIMO systems [2]. However, in practice, the power of each antenna is restricted instead of the total power. It means that maximizing the power utilization requires the sum power of all users at each antenna to be the same. Unfortunately, it is generally not the case in practice, because of the randomness of the ZF precoding matrix. As a result, it causes a dilemma to the BS: on the one hand, ZF precoding could not fully use the transmit power, which leads to throughput loss; on the other hand, full power utilization means that there exists residual interference among the grouped users, since the ZF precoding matrix is violated, which also results in throughput loss. Conjugate Beamforming (CB) is another practical precoding method for MU-MIMO precoding in large-scale MIMO communication systems because of its simplicity for implementation. Similarly to ZF, CB also faces the optimal power allocation problem when the power of each antenna is restricted. Therefore, more sophisticated power allocation methods are needed to maximum the sum rate of MU-MIMO systems. Due to the aforementioned reasons, this invention provides four different methods to allocate the power to each data stream based on two different optimization objectives when ZF precoding is employed by the BS. In addition, a simple power allocation method is also offered when CB is employed by the BS. The advantages of this invention include: 1. when ZF precoding is employed, two of the four power allocation methods have better performance than the rest two in the low Signal-to-Noise Ratio (SNR) region and vice versa, so different power allocation methods could be employed in different SNR regions to achieve the maximum sum rate of MU-MIMO systems; 2. when CB is employed, a very simple power allocation method could be employed with little sum rate loss; 3. the sum rate losses of all methods provided in this invention are negligible compared to the case where the total transmitting power instead of the per-antenna power is constrained; 4. most importantly, these methods are not affected by a scaling factor of each channel vector so channel estimation with an arbitrary scaling factor would be sufficient, which alleviates the accuracy requirement of channel measurement in massive MIMO systems.

SUMMARY OF THE INVENTION

This application provides several methods to complete power allocation and precoding matrix computation in MU-MIMO systems. For ZF precoding, two methods are provided to maximize the power utilization, where one is based on orthogonal projection while the other one is based on iterative searching the optimal solution in the constraint domain. In addition, two more methods are provided to minimize the inter-user interference among UEs in the MU-MIMO user group, where one is based on linear scaling while the other one is based on iterative searching. Among the four methods, the first two methods are the better choices in the low SNR region while the latter two methods are the better choices in the high SNR region. For CB, a simple but rate-lossless method is provided where the power of each antenna could be totally consumed.

BRIEF DESCRIPTION OF THE DRAWINGS

The aforementioned implementation of the invention as well as additional implementations would be more clearly understood as a result of the following detailed description of the various aspects of the invention when taken in conjunction with the drawings. Like reference numerals refer to corresponding parts throughout the several views of the drawings.

FIG. 1 shows the block diagram illustrating the iteration process of searching the optimal solution to (12).

FIG. 2 shows the block diagram illustrating the iteration process of searching the optimal solution to (19).

FIG. 3 shows a block diagram illustrating the process of power allocation and precoding matrix computation.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

For a large-scale MIMO system, suppose that the number of antennas at the BS side is M, and the number of multiplexed data streams is K in the downlink on a Resource Element (RE) such as a subcarrier, or a Resource Block (RB), etc. Note that the K data streams belong to N users, where N≤K. Suppose that the channel matrix corresponding to the K data streams is H=[h₁ h₂ . . . h_(K)]^(T), which may be acquired by BS through uplink channel measurement or uplink feedback channel.

The K modulated signals on the current RE are precoded by a matrix W before being further processed, where W has the dimension of M×K and the (m,k)th element is w_(mk), where m=1, 2, . . . , M, and k=1, 2, . . . , K.

If the ZF precoding method is employed, the BS firstly computes a temporary matrix

H ^(inv) =H ^(H)(HH ^(H))⁻¹,  (1)

then the (m,k)th element of the matrix H^(inv) can be written as

h _(mk) ^(inv) =|h _(mk) ^(inv) |e ^(jθ) ^(mk) .  (2)

Let P₁ ^(ant), P₂ ^(ant), . . . , P_(M) ^(ant) denote the power allocated to the current RE belonging to the M antennas respectively, then the power allocated to the kth data stream by the BS is P_(k), which satisfies Σ_(k=1) ^(K) P_(k)=Σ_(m=1) ^(M) P_(m) ^(ant). One possible example is

$\begin{matrix} {P_{k} = {\frac{\sum\limits_{m = 1}^{M}P_{m}^{ant}}{K}.}} & (3) \end{matrix}$

In order to complete the power allocation, four methods belonging to two categories are provided in this invention, where the first category is based on maximizing the power utilization, while the second one is based on minimizing the inter-user interference.

Category-1: Maximizing the Power Utilization.

In this category, the BS constructs an (M+K−1)×MK matrix A by deleting the k_(d)th row vector of the following temporary matrix

$\begin{matrix} {{A_{T} = \begin{bmatrix} 1 & 1 & \ldots & 1 & 0 & 0 & \ldots & 0 & \ldots & 0 & 0 & \ldots & 0 \\ 0 & 0 & \ldots & 0 & 1 & 1 & \ldots & 1 & \ldots & 0 & 0 & \ldots & 0 \\ \vdots & \vdots & \ddots & \vdots & \vdots & \vdots & \ddots & \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & 0 & 0 & 0 & \ldots & 0 & \ldots & 1 & 1 & \ldots & 1 \\ 1 & 0 & \ldots & 0 & 1 & 0 & \ldots & 0 & \ldots & 1 & 0 & \ldots & 0 \\ 0 & 1 & \ldots & 0 & 0 & 1 & \ldots & 0 & \ldots & 0 & 1 & \ldots & 0 \\ \vdots & \vdots & \ddots & \vdots & \vdots & \vdots & \ddots & \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & 1 & 0 & 0 & \ldots & 1 & \ldots & 0 & 0 & \ldots & 1 \end{bmatrix}},} & (4) \end{matrix}$

where the (i,j)th element of A_(T) satisfies the conditions

$\begin{matrix} {a_{ij} = \left\{ {\begin{matrix} {1,} & {{{{if}\mspace{14mu} 1} \leq i \leq K},{j = {{\left( {i - 1} \right)M} + l}},{l = 1},\ldots \mspace{14mu},M,} \\ {0,} & {{{{if}\mspace{14mu} 1} \leq i \leq K},{j \neq {{\left( {i - 1} \right)M} + l}},{l = 1},\ldots \mspace{14mu},M,} \\ {1,} & {{{{{if}\mspace{14mu} K} + 1} \leq i \leq {K + M}},{j = {{lM} + \left( {i - K} \right)}},{l = 0},\ldots \mspace{14mu},{K - 1},} \\ {0,} & {{{{{if}\mspace{14mu} K} + 1} \leq i \leq {K + M}},{j \neq {{lM} + \left( {i - K} \right)}},{l = 0},\ldots \mspace{14mu},{K - 1}} \end{matrix},} \right.} & (5) \end{matrix}$

and k_(d)∈{1, . . . , MK} may be any one of the MK possible values.

The BS constructs an (M+K−1)×1 vector b by deleting the k_(d)th element of the temporary vector

b _(T) =[P ₁ . . . P _(K) P ₁ ^(ant) . . . P _(M) ^(ant)]^(T).  (6)

An MK×1 vector r is constructed as

r=[r ₁₁ . . . r _(M1) r ₁₂ . . . r _(M2) . . . r _(1K) . . . r _(MK)]^(T)  (7)

where the elements of r satisfy

$\begin{matrix} {{\frac{r_{mk}}{r_{lk}} = \frac{{h_{mk}^{inv}}^{2}}{{h_{lk}^{inv}}^{2}}},l,{m = 1},\ldots \mspace{14mu},M,{k = 1},\ldots \mspace{14mu},K,{e.g.},{r_{mk} = {{h_{mk}^{inv}}^{2}.}}} & (8) \end{matrix}$

With the matrix A and vectors b and r, two possible methods could be used to compute the power allocated to each data stream on each antenna.

Method-1: Orthogonal Projection.

In this method, the BS projects the vector r into the solution space of the equation Ax=b firstly by

{tilde over (p)}=[I−Ã ^(T)(ÃÃ ^(T))⁻¹ Ã]{tilde over (r)},  (9)

where Ã=[A b] and {tilde over (r)}=[r^(T)−a]^(T) with a being a positive real number. Then, the elements of power allocation matrix are computed as

$\begin{matrix} {{p_{mk} = \frac{\overset{\sim}{p}({mk})}{\overset{\sim}{p}\left( {{MK} + 1} \right)}},{m = 1},\ldots \mspace{14mu},M,{k = 1},\ldots \mspace{14mu},{K.}} & (10) \end{matrix}$

Method-2: Iterative Searching.

In this method, the power allocation vector is computed by solving the following problem

min∥p−r∥ ₂ ²,

s·t·Ap−b=0,

−p≤0.  (11)

The problem (11) can be solved by iterative searching in the constraint domain. One possible solution is to firstly transform (11) into an equivalent problem

minf(t,p)=−t∥p−r∥ ₂ ²−Σ_(i=1) ^(MK) p _(i),

s·t·Ap=b,  (12)

then the iterative searching process in FIG. 1 is used to find the optimal p. Specifically, after the searching process starts 1, the input parameters are initialized as t>0, ε_(o)>0, ε_(i)>0, P₀ ∈{Ap=b, p_(i)≥0}, μ>0, and γ>0, where ∈_(o) and ∈_(i) are endurable errors for the outer and inner searching cycles respectively, P₀ is an initial power allocation matrix, while μ and γ are two adjusting parameters 2. Then, the outer searching cycle runs while

${{- \frac{1}{t}}{\sum\limits_{i = 1}^{MK}p_{i}}} > ɛ_{o}$

3, and the inner searching cycle runs while λ(p)/2>ε_(i) 4. Inside the inner cycle, the first step is to solve the equation

${{\begin{bmatrix} {\nabla^{2}f_{p}} & A^{T} \\ A & 0 \end{bmatrix}\begin{bmatrix} {\Delta \; p_{t}} \\ \chi \end{bmatrix}} = \begin{bmatrix} {- {\nabla f_{p}}} \\ 0 \end{bmatrix}},$

where χ is an adjusting parameter 5. Then, the Newton decrement is calculated as λ(p)=Δp_(t) ^(T)∇²f_(p)Δp_(t) 6. After that, the variable p is updated as p←p+γΔp_(t) 7. After the inner cycle ends 8, the parameter t is updated as t←μt 9. After the outer cycle ends 10, the whole process ends 11. Finally, the vector p is reshaped to a matrix with elements p_(mk), m=1, . . . , M, and k=1, . . . , K.

With p_(mk), the elements w_(mk) of the precoding matrix W can be computed as

w _(mk)=√{square root over (p _(mk))}e ^(jθ) ^(mk) ,m=1, . . . ,M,k=1, . . . ,K.  (13)

Category-2: Minimizing the Inter-User Interference.

In this category, two possible methods are provided to minimize the inter-user interference.

Method-1: Linear Scaling.

In this method, the BS computes a temporary power allocation matrix with elements

${\overset{\sim}{p}}_{mk} = \frac{P_{k}{h_{mk}^{inv}}^{2}}{\sum\limits_{m = 1}^{M}{h_{mk}^{inv}}^{2}}$

firstly, where h_(mk) ^(inv) is the same as in (2), then computes the power consumed on each antenna as Q_(m)=Σ_(k=1) ^(K) {tilde over (p)}_(mk), m=1, . . . , M. After that, the BS chooses the maximum value of Q_(m), which is denoted as Q_(max) Finally, the power allocation matrix is computed as

$\begin{matrix} {{p_{mk} = \frac{{\overset{\sim}{p}}_{mk}P_{m}^{ant}}{Q_{\max}}},{m = 1},\ldots \mspace{11mu},M,{k = 1},\ldots \mspace{14mu},{K.}} & (14) \end{matrix}$

Method-2: Iterative Water-Filling Method.

In this method, the BS constructs an (M+K)×K matrix A with a form of

$\begin{matrix} {{A = \begin{bmatrix} a_{11} & \ldots & a_{1K} \\ \vdots & \ddots & \vdots \\ a_{M\; 1} & \ldots & a_{MK} \\ {- 1} & \ldots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \ldots & {- 1} \end{bmatrix}},} & (15) \end{matrix}$

where the elements a_(mk), m=1, . . . , M, and k=1, . . . , K, satisfy

$\begin{matrix} {a_{mk} = \left\{ {\begin{matrix} {\frac{{h_{mk}^{inv}}^{2}}{\sum\limits_{m = 1}^{M}{h_{mk}^{inv}}^{2}},{m = 1},\ldots \mspace{14mu},M,{k = 1},\ldots \mspace{14mu},K,} \\ {1,{m = {M + k}},} \\ {0,{otherwise}} \end{matrix}.} \right.} & (16) \end{matrix}$

The BS constructs an (M+K)×1 vector b as

b=[P ₁ ^(ant) . . . P _(M) ^(ant)0 . . . 0]^(T).  (17)

Let the power allocation vector p^(s) be p^(s)=[p₁ ^(s) . . . P_(K) ^(s)]^(T), where P_(k) ^(s), k=1, . . . , K, are the power allocated to the kth data stream. Then, p^(s) can be obtained by solving the following optimization problem

min−Σ_(k=1) ^(K) log(1+g _(k) P _(k) ^(s)),

s·t·Ap ^(s) −b≤0,  (18)

where

$g_{k} = \frac{{h_{k}}^{2}}{\sigma_{NI}^{2}}$

denotes the signal-to-Interference-plus-Noise Ratio (SINR) of the kth stream with σ_(N1) ² being the power of the noise and interference.

Problem (18) can be solved by iterative searching in the constraint domain. One possible solution is to firstly transform (18) into an equivalent problem

minG _(t)(p ^(s))=min[−tΣ _(k=1) ^(K) log(1+g _(k) P _(k) ^(s))−Σ_(k=1) ^(K+M) log f _(i)(p ^(s))],  (19)

where f_(i)(p^(s))=a_(i) ^(T)p^(s)−b_(i) and a_(i) ^(T), is the ith column vector of A. Then, the iterative searching process in FIG. 2 is used to find the optimal p^(s). Specifically, after the searching process starts 12, the input parameters are initialized as t>0, ε_(o)>0, ε_(i)>0, p^(s) ∈{Ap^(s)−b≤0, p_(i)≥0}, μ>0, and γ>0, where ∈_(o) and ∈_(i) are endurable errors for the outer and inner searching cycles respectively, while μ and γ are two adjusting parameters 13. Then, the outer searching cycle runs while

${{- \frac{1}{t}}{\sum\limits_{i = 1}^{M + K}{\log \; {f_{i}\left( p^{s} \right)}}}} > ɛ_{o}$

14, and the inner searching cycle runs while λ(p^(s))/2>ε_(i) 15. Inside the inner cycle, the first step is to calculate the decrement Δp^(s)=−∇²G_(t)(p^(s))⁻¹∇G_(t)(p^(s)) 16. After that, the Newton decrement is calculated as λ=∇G_(t) (p^(s))^(T)∇²G_(t)(p^(s))⁻¹∇G_(t)(p^(s)) 17. Then, the variable p^(s) is updated as p^(s)←p^(s)+γΔp^(s) 18. After the inner cycle ends 19, the parameter t is updated as t←μt 20. After the outer cycle ends 21, the whole process ends 22.

With the solution of problem (19), the power allocation matrix can be computed as

$\begin{matrix} {{p_{mk} = \frac{p_{k}^{s}{h_{mk}^{inv}}^{2}}{\sum\limits_{m = 1}^{M}{h_{mk}^{inv}}^{2}}},{m = 1},\ldots \mspace{14mu},M,{k = 1},\ldots \mspace{14mu},{K.}} & (20) \end{matrix}$

With p_(mk) in (20), the elements w_(mk) of the precoding matrix W can be computed by w_(mk)=√{square root over (p_(mk))}e^(jθ) ^(mk) , m=1, . . . , M, and k=1, . . . , K.

If CB is employed by the BS, it firstly computes the phases of the elements of precoding matrix W as

Ø_(mk)=−θ_(mk) ,m=1, . . . ,M,k=1, . . . ,K,  (21)

then it computes the elements of the precoding matrix W as

$\begin{matrix} {{w_{mk} = {\sqrt{\frac{P_{k}}{M}}e^{j\; \varnothing_{mk}}}},{m = 1},\ldots \mspace{14mu},M,{k = 1},\ldots \mspace{14mu},{K.}} & (22) \end{matrix}$

The process of power allocation and precoding matrix computation is illustrated in FIG. 3. Specifically, after the process starts 23, the BS determines the precoding method first 24. Then, the BS computes the phase of each element of the precoding matrix θ_(mk) 25. Next, the BS computes the power of each data stream on each antenna p_(mk) 26. After that, the BS computes each elements of the precoding matrix as w_(mk)=p_(mk)e^(jØ) ^(mk) 27, before the process ends 28.

With the precoding matrix W, the signals belonging to these K data streams are precoded, further processed, and sent by the M antennas.

Although the foregoing descriptions of the preferred embodiments of the present inventions have shown, described, or illustrated the fundamental novel features or principles of the inventions, it is understood that various omissions, substitutions, and changes in the form of the detail of the methods, elements or apparatuses as illustrated, as well as the uses thereof, may be made by those skilled in the art without departing from the spirit of the present inventions. Hence, the scope of the present inventions should not be limited to the foregoing descriptions. Rather, the principles of the inventions may be applied to a wide range of methods, systems, and apparatuses, to achieve the advantages described herein and to achieve other advantages or to satisfy other objectives as well. 

We claim:
 1. A method for power allocation in MU-MIMO wireless communication systems comprising a BS with an array of M antennas serving K data streams in a Resource Element where M≥K; and the BS allocating the power to maximize the power utilization.
 2. The method in claim 1 wherein the BS maximizes the power utilization by orthogonal projection.
 3. The method in claim 1 wherein the BS maximizes the power utilization by iterative searching.
 4. The method in claim 1 further comprising the BS constructing special matrices and vectors based on numbers and values related to the antennas, the allocated power to each data stream, the channel quality; the BS calculating the power allocated to each data stream on each antenna using the constructed special matrices and vectors, and using the calculated results to obtain a final beamforming matrix to maximizes the power utilization.
 5. The method in claim 4 wherein the BS calculates the power allocated to each data stream on each antenna by orthogonal projection using the constructed special matrices and vectors.
 6. The method in claim 4 wherein the BS calculates the power allocated to each data stream on each antenna by iterative searching using the constructed special matrices and vectors.
 7. A method for power allocation in MU-MIMO wireless communication systems comprising a BS with an array of M antennas serving K data streams in a Resource Element where M≥K; and the BS allocating the power to minimize the inter-user interference.
 8. The method in claim 7 wherein the BS minimizes the inter-user interference by linear scaling.
 9. The method in claim 8 wherein the BS minimizes the inter-user interference by linear scaling of a temporary power allocation matrix to obtain the final power allocation matrix.
 10. The method in claim 7 wherein the BS minimizes the inter-user interference by iterative searching.
 11. The method in claim 10 wherein the BS constructing special matrices and vectors based on numbers and values related to the antennas, the allocated power to each data stream, and information on channel quality; and the BS using the constructed special matrices and vectors to iteratively search for a power allocation that minimizes the inter-user interference.
 12. A method for power allocation in MU-MIMO wireless communication systems comprising a BS selecting a precoding method; the BS computing the phase of each element of the precoding matrix θ_(mk); the BS computing the power of each data stream on each antenna p_(mk); and the BS computing each elements of the precoding matrix as w_(mk)=p_(mk)e^(jØ) ^(mk) . 